Open application programming interfaces (APIs) allow third parties to design application plugins which interact with a host application though a standard interface. An application plugin is a computer program that functions within an environment provided by the host application to provide new features to the host application or to expand an existing feature. Plugins can create capabilities that extend the host application or support unforeseen future capabilities. For example, the plugin can allow a host Web browsing application to display a form of digital media not otherwise viewable with the host Web browsing application.
As plugin architectures continue to proliferate, situations can arise in which more than one plugin available within the host application is able to handle a same processing function. In instances where multiple plugins may implement the same function, it may be necessary for the host application to designate which plugin will carry out the function.
When multiple plugins are available to operate on an object, the host application may automatically select the plugin to operate on the object. This can lead to a less than optimal choice of plugin. In another approach, the host application may present a list of plugins and request the user to select a preferred plugin to operate on the object. This approach can result in multiple user actions that interrupt user workflow and disturb the continuous flow of the host application.